←Select platform

Run(List<IFeature>,LEADDocument,int,int,CancellationToken) Method

Summary

Asynchronous method which runs a list of features on a LEADDocument, returning the results of processing. This API can be run for specific pages.

Syntax
C#
C++/CLI
Python
public Task<List<ElementSetResult>> Run( 
   List<IFeature> features, 
   LEADDocument document, 
   int from, 
   int to, 
   CancellationToken token 
) 
public:  
   Task<List<ElementSetResult^>^>^ Run( 
       List<IFeature^>^ features, 
      LEADDocument^ document, 
      Int32 from, 
      Int32 to, 
      CancellationToken^ token 
   ) 
def Run(self,features,document,from,to,token): 

Parameters

features

List of features to run on the document.

document

The document on which the features will be run.

from

Page from which to start, 1-based.

to

Page to end at, 1-based.

token

A CancellationToken enables cooperative cancellation between threads or Task objects. You create a cancellation token by instantiating a CancellationTokenSource object, which manages cancellation tokens retrieved from its CancellationTokenSource.

Return Value

Results of processing the document.

Example

This example runs a ruleset on a document and reads the results.

C#
using Leadtools; 
using Leadtools.Document.Unstructured; 
using Leadtools.Document.Analytics; 
 
using Leadtools.Document.Unstructured.Highlevel; 
using Leadtools.Ocr; 
using Leadtools.Document; 
 
       
async Task RunRuleSet(string ruleSetFileName, string documentFileName, IOcrEngine ocrEngine) 
{ 
   var json = LoadJson(ruleSetFileName); 
   var features = FeatureResourceBuilder.BuildFromArray(json); 
 
   var doc = LoadDocument(documentFileName); 
   doc.Text.OcrEngine = ocrEngine; 
   doc.Text.ImagesRecognitionMode = DocumentTextImagesRecognitionMode.Auto; 
   doc.Text.TextExtractionMode = DocumentTextExtractionMode.Auto; 
 
   var results = await new FeaturesProcessingEngine().Run(features.ToList(), doc, 1, 1, CancellationToken.None); 
 
   foreach (var result in results) 
   { 
      var items = result?.Items; 
      foreach (var item in items) 
      { 
         var name = item?.ElementName; 
         var val = item?.Value; 
      } 
   } 
 
   string LoadJson(string pathName) 
   { 
      var txt = File.ReadAllText(pathName); 
      var obj = JObject.Parse(txt); 
      var meta = obj["meta"]; 
      if (null == meta) 
      { 
         throw new Exception("Couldn't find the meta info in the ruleset file, make sure this file was saved using this demo."); 
      } 
      return meta.ToString(); 
   } 
 
   LEADDocument LoadDocument(string pathName) 
   { 
      var options = new LoadDocumentOptions() 
      { 
         FirstPageNumber = 1, 
         LastPageNumber = -1, 
         TimeoutMilliseconds = 0, 
         MaximumImagePixelSize = 12288 
      }; 
 
      return DocumentFactory.LoadFromFile(pathName, options); 
   } 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document.Unstructured Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.